/**
 * 格式化日期
 */
export function standardDateTime(date) {
	if (!date || date === '') return ''

	const now = new Date(date)
	const year = now.getFullYear() // 获取年份
	const month = ('0' + (now.getMonth() + 1)).slice(-2) // 获取月份，月份是从0开始的，所以要加1
	const day = ('0' + now.getDate()).slice(-2) // 获取日
	const hours = ('0' + now.getHours()).slice(-2) // 获取小时
	const minutes = ('0' + now.getMinutes()).slice(-2) // 获取分钟
	const seconds = ('0' + now.getSeconds()).slice(-2) // 获取秒

	// 拼接成你想要的格式
	return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
}

/**
 * 格式化相对时间
 * 例如：刚刚、5分钟前、1小时前、昨天、3天前等
 */
export function formatRelativeTime(dateTime) {
	if (!dateTime) return ''

	const inputDate = new Date(dateTime)
	const now = new Date()
	const diff = now - inputDate // 时间差（毫秒）

	// 小于1分钟
	if (diff < 60 * 1000) {
		return '刚刚'
	}

	// 小于1小时
	if (diff < 60 * 60 * 1000) {
		const minutes = Math.floor(diff / (60 * 1000))
		return `${minutes}分钟前`
	}

	// 小于1天
	if (diff < 24 * 60 * 60 * 1000) {
		const hours = Math.floor(diff / (60 * 60 * 1000))
		return `${hours}小时前`
	}

	// 小于7天
	if (diff < 7 * 24 * 60 * 60 * 1000) {
		const days = Math.floor(diff / (24 * 60 * 60 * 1000))
		if (days === 1) {
			return '昨天'
		}
		return `${days}天前`
	}

	// 超过7天，显示具体日期
	const year = inputDate.getFullYear()
	const month = ('0' + (inputDate.getMonth() + 1)).slice(-2)
	const day = ('0' + inputDate.getDate()).slice(-2)

	// 如果是今年，不显示年份
	if (year === now.getFullYear()) {
		return `${month}-${day}`
	}

	return `${year}-${month}-${day}`
}